DB Connections provide a pointer to a database. You configure the DB Connection with the appropriate details for connecting to the database.
By being a separate module from the DB Definition it allows you to create a single DB Definition and use it against multiple similar databases in different locations simply by assigning a different DB Connection.
When assigning a DB Connection to a DB Definition it is considered a design time assignment, when coming to use the DB Definition in an Action you have the chance to reassign the DB Connection. This allows you to use the same DB Definition in multiple Actions each with their own DB Connection. This is run time assignment.
A DB Connection is similar to a System Connection (see System Connections), but serves a different purpose: